<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta charset="UTF-8">
    <title>表格全选</title>
    <style>
        table {
            border: 1px solid;
            width: 500px;
            margin-left: 30%;
        }

        td, th {
            text-align: center;
            border: 1px solid;
        }

        div {
            margin-top: 10px;
            margin-left: 30%;
        }

        .over{
            background-color: pink;
        }
        .out{

          background-color: white;
        }
    </style>
</head>
<body>

<table>
    <caption>学生信息表</caption>
    <tr>
        <th><input type="checkbox" name="cb" id="first_cb"></th>
        <th>编号</th>
        <th>姓名</th>
        <th>性别</th>
        <th>操作</th>
    </tr>

    <tr>
        <td><input type="checkbox" name="cb"></td>
        <td>1</td>
        <td>令狐冲</td>
        <td>男</td>
        <td><a href="javascript:void(0);">删除</a></td>
    </tr>

    <tr>
        <td><input type="checkbox" name="cb"></td>
        <td>2</td>
        <td>任我行</td>
        <td>男</td>
        <td><a href="javascript:void(0);">删除</a></td>
    </tr>

    <tr>
        <td><input type="checkbox" name="cb"></td>
        <td>3</td>
        <td>岳不群</td>
        <td>?</td>
        <td><a href="javascript:void(0);">删除</a></td>
    </tr>

</table>
<div>
    <input type="button" id="selectAll" value="全选">
    <input type="button" id="unSelectAll" value="全不选">
    <input type="button" id="selectRev" value="反选">
</div>
<script>
    window.onload = function () {
        //当页面加载完成后绑定事件
        document.getElementById("selectAll").onclick = function () {
            //获取全选按钮对象，并给其绑定单机事件
            var cbs = document.getElementsByName("cb");
            //获取所有单选框对象得到一个数组
            for (var i = 0; i < cbs.length; i++) {
                //将单选框数组进行遍历
                cbs[i].checked = true;//将单选框状态更改为选中
            }
            document.getElementById("unSelectAll").onclick = function () {
                //获取全不选按钮对象
                var cbs = document.getElementsByName("cb");
                //获取单选框数组
                for (var i = 0; i < cbs.length; i++) {//遍历数组得到每一个单选框
                    cbs[i].checked = false;//将单选框状态更改为未选状态
                }
            }
                document.getElementById("selectRev").onclick = function () {
                //获取反选按钮对象
                    var cbs = document.getElementsByName("cb");//获取单选框数组
                    for (var i = 0; i < cbs.length; i++) {//遍历数组
                        cbs[i].checked = !cbs[i].checked;//将单选框状态更改为相反状态
                    }

                }

            document.getElementById("first_cb").onclick = function () {
                //获取第一个单选框对象
                var cbs = document.getElementsByName("cb");//获取所有单选框对象数组
                for (var i = 0; i < cbs.length; i++) {//遍历数组
                    cbs[i].checked =this.checked;//将所有单选框的更改为与第一个单选框状态相同
                }

            }
             var trs = document.getElementsByTagName("tr");//获取所有行数对象
            for (var i= 0; i< trs.length; i++) {//遍历得到的所有行数对象
                         trs[i].onmouseover=function(){//给每一行绑定鼠标移动事件
                             this.className="over"//给这个行设置class属性为over，并定义css标签
                         }
                trs[i].onmouseout=function(){//给每一行绑定鼠标移出事件
                    this.className="out"//给每一行设置class属性，
                }

        }


        }
        }

</script>

</body>
</html>